// 目录操作（文件夹操作）；
const fs = require("fs");
// 1.创建一个目录
// 异步创建目录
// 0777：权限的控制  ----》 0 代表八进制  第一个7所有者   ，第二个7 组权限  第三个7 ，所有人
// 0 代表八进制
// 7 =  1 + 2 + 4;  1:可执行  2.可写   4 ： 可读
// fs.mkdir("./uploads", 0777, err => {
//   if (err) {
//     return console.log(err);
//   }
//   console.log("创建成功");
// });

// 同步创建目录
// try {
//   fs.mkdirSync("./test", 0777)
//   console.log("创建成功");
// } catch (err) {
//   console.log(err);
// };

// 2.读取目录 ：会读取目录里的文件及文件夹，读取一层目录,读取的内容会放在一个数组里
// 异步读取目录
// fs.readdir("./uploads", (err, data) => {
//   if (err) {
//     console.log(err);
//   }
//   console.log(data);
// });

// 同步读取目录
// try {
//   let res = fs.readdirSync("./uploads");
//   console.log(res);
// } catch (err) {
//   console.log(err);
// };

// 3.删除目录：只能删除空目录
// 异步删除非空目录
// fs.rmdir("./uploads", err => {
//   if (err) {
//     console.log(err);
//   }
//   console.log("删除成功");
// });

// 异步删除空目录
// fs.rmdir("./test", err => {
//   if (err) {
//     console.log(err);
//   }
//   console.log("删除成功");
// });

// 4.修改目录：修改目录名称
// fs.rename("./uploads", "mydirtest", err => {
//   if (err) {
//     console.log(err);
//   }
//   console.log("修改成功");
// });

// 5.判断目录是否存在existsSync
// if (!fs.existsSync("./mytest")) {
//   //如果目录不存在那么就创建一个mytest目录
//   fs.mkdirSync("./mytest")
// }
// fs.writeFileSync("./mytest/index.txt", "hello你好");

// 6.判断是否是一个目录
// 第一步：获取目录的详细信息
let stat = fs.statSync("./mytest");
console.log(stat);
// 第二步：通过详细信息判断是否是一个文件夹
console.log(stat.isDirectory());

// 思考：如何删除非空目录 ---> 先删除文件，然后再删除目录，递归
// 注意把代码备份一下
